package com.bruip.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * @author 王若龙
 * @CreateTime 2022-09-06 10:09
 * <p>
 * HiddenHttpMethodFilter 处理put和delete请求的条件：
 * a>当前请求的请求方式必须为post
 * b>当前请求必须传输请求参数_method
 * 满足以上条件，HiddenHttpMethodFilter 过滤器就会将当前请求的请求方式转换为请求参数
 * _method的值，因此请求参数_method的值才是最终的请求方式
 */
@Controller
public class TestRestController {

    /**
     * 获取用户
     *
     * @return {@link String}
     */
//    @GetMapping("/user")
    @RequestMapping(value = "/user", method = RequestMethod.GET)
    public String getUser() {
        return "success";
    }

    /**
     * 得到用户id
     *
     * @return {@link String}
     */
    @GetMapping("/user/{id}")
    public String getUserById(@PathVariable("id") Integer id) {
        return "success";
    }

    /**
     * 保存用户
     *
     * @return {@link String}
     */
    @PostMapping("/user")
    public String saveUser() {
        return "success";
    }

    /**
     * 更新用户
     *
     * @return {@link String}
     */
    @PutMapping("/user/{id}")
    public String updateUser(@PathVariable("id") Integer id) {
        return "success";
    }

    /**
     * 删除用户
     *
     * @return {@link String}
     */
    @DeleteMapping("/user/{id}")
    public String deleteUser(@PathVariable("id") Integer id) {
        return "success";
    }

}
